package com.monkey.thread;

import java.util.concurrent.CompletableFuture;

/**
 * User: zhangqi
 * Date: 2024/8/17
 *
 * @Description:创建线程
 */

public class CreateThread {
    public static void main(String[] args) throws InterruptedException {
        //创建一个线程 线程的状态有:新建状态(未调用start时),runnable状态，wait状态，block状态，terminal状态。
        Thread sonThread = new Thread(new Runnable() {
            @Override
            public void run() {
                for (int i = 0; i < 1000; i++) {
                    System.out.println("我是子线程----" + Thread.currentThread().getName()+":"+i);
                }
            }
        });
        sonThread.setName("Son");
        //start是线程的入口方法 启动线程才有多线程的作用
        //线程让步yield(让当前线程重新回到就绪状态 等待cpu的时间片)、线程插队join(让当前线程进入等待，其他其他线程执行完，才执行。)
        sonThread.start();
        //当前运行的主线程进入等待，调用join方先执行。
        sonThread.join();//等待当前线程结束
        for (int i = 0; i < 1000; i++) {
            System.out.println("我是Main线程----" + Thread.currentThread().getName()+":"+i);
        }
    }
}
